package com.adong.juc;

import java.util.concurrent.TimeUnit;

/*
8锁测试
1 标准访问，先打印短信还是邮件 : 短信 邮件
2 停4秒在短信方法内，先打印短信还是邮件 : 4s 短信  邮件
3 普通的hello方法，是先打短信还是hello : hello 4s 短信
4 现在有两部手机，先打印短信还是邮件 : Email 4s 短信 锁不同,是不同实例this
5 两个静态同步方法，1部手机，先打印短信还是邮件 : 4s 短信 邮箱 锁相同是类
6 两个静态同步方法，2部手机，先打印短信还是邮件  : 4s 短信 邮箱 锁相同是类
7 1个静态同步方法，1个普通同步方法，1部手机，先打印短信还是邮件 : 邮箱 4s 短信 一个锁是实例this,一个是类
8 1个静态同步方法，1个普通同步方法，2部手机，先打印短信还是邮件 : 邮箱 4s 短信 一个锁是实例this,一个是类
*/
public class Lock_8 {

    public static void main(String[] args) {
        Phone phone = new Phone();
        Phone phone2 = new Phone();

        new Thread(() -> {
            phone.sendSMS();
        }).start();

        new Thread(() -> {
            phone.sendEmail();
            //phone.getHello();
            //phone2.sendEmail();
        }).start();


    }
}

class Phone {
    public synchronized void sendSMS() {
        try {
            //TimeUnit.SECONDS.sleep(4);
        } catch (Exception e) {
            e.printStackTrace();
        }

        System.out.println("----发送SMS");

    }

    public synchronized void sendEmail() {
        System.out.println("----发送Email");

    }

    public void getHello() {
        System.out.println("----hello");
    }

}